package cn.gwm.flink.streaming.dwm.charge.model;

import cn.gwm.flink.streaming.constant.VehicleType;
import lombok.Data;

/**
 * @Author: liangguang
 * @Date: 2023/02/22
 * @Description: 充电主题- ev 常量字段池
 */
@Data
public class ChargeEvConstant extends ChargeConstant {

    private static final ChargeConstant CONSTANT = new ChargeConstant()
            .setObcConnectStsEv("OBC_ConnectSts_EV")
            .setObcCclineConnectSts("OBC_CCLineConnectSts")
            .setBmsDcchrgConnect("BMS_DCChrgConnect")
            .setBmsChrgSts("BMS_ChrgSts")
            .setTboxBattSoc("Tbox_BattSOCLim")
            .setVcuChrgnSts("VCU_ChrgnSts")
            .setBmsSoc("BMS_SOC")
            .setBmsSoe("BMS_SOE")
            .setBmsSoh("BMS_SOH")
            .setBmsSohCor("BMS_SOH_COR")
            .setObcChrgrOutputVolt("OBC_ChrgrOutputVolt")
            .setEvccEvseOutputV("EVCC_EVSEOutputV")
            .setObcChrgrOutputCurr("OBC_ChrgrOutputCurr")
            .setEvccEvseOutputC("EVCC_EVSEOutputC")
            .setEvccEvseOutputP("EVCC_EVSEOutputP")
            .setBmsBattCurr("BMS_BattCurr_RM")
            .setBmsBattVolt("BMS_BattVolt_RM")
            .setBmsRmcModuleTempMax("BMS_RMC_ModuleTempMax")
            .setBmsRmcModuleTempMin("BMS_RMC_ModuleTempMin")
            .setBmsModuleTempAverage("BMS_ModuleTempaverage")
            .setAcAmbTemp("ACAmbTemp")
            .setFaultCode("BMS_DTCNumber")
            .setBmsChrgTime("BMS_ChrgTime")
            .setBmsInnerSOC("BMS_InnerSOC")
            .setBmsSWVersion("BMS_SWVersion")
            .setSohCor("SOH_COR")
            .setBmsHeatReq("BMS_HeatReq")
            .setBmsCoolReq("BMS_CoolReq")
            .setBmsInnerSocMax("BMS_InnerSOCmax")
            .setBmsInnerSocMin("BMS_InnerSOCmin")
            .setBmsCellVoltMax("BMS_CellVoltMax")
            .setBmsCellVoltMin("BMS_CellVoltMin")
            .setAcOpenSts("ACOpenSts")
            .setPlugChrgnMode("PlugChrgnMode")
            .setIntellgntChrgnModResp("IntellgntChrgnModResp")
            .setObcChrgGunSts("OBC_ChrgrGunSts")
            .setEvccEvseOutput("EVCC_EVSEOutput")
            .setDiscountPower("DiscountPower")
            .setExpensivePower("ExpensivePower")
            .setDiscountTime("DiscountTime")
            .setExpensiveTime("ExpensiveTime")
            .setPowerType(VehicleType.POWER_TYPE_EV);

    private ChargeEvConstant() {
    }

    public static ChargeConstant getInstance() {
        return CONSTANT;
    }

}
